Este driver propicia o acesso a um elemento de interface do canvas IUP. IUP é uma biblioteca de interface com o usuário portátil utilizada para criar aplicações portáteis com interface com o usuário.
O canvas é criado chamando-se a função cdCreateCanvas(CD_IUP, Data), após o que outras funções CD podem ser chamadas normalmente. Esta função cria um canvas CD com base no canvas IUP existente. O parâmetro Data é um ponteiro para um handle do canvas IUP (Ihandle*). Para o uso com CDLUA, deve-se necessariamente passar como parâmetro um canvas criado com IUPLUA.
Qualquer quantidade desses canvas pode existir simultaneamente, mas eles não devem utilizar o mesmo canvas IUP. Vale ressaltar que é necessário chamar a função cdKillCanvas para finalizar o driver de forma apropriada.
O canvas CD é automaticamente armazenado no canvas IUP como o atributo "_CD_CANVAS".
Este driver pode ser completamente substituído pelo driver Native Window utilizando o atributo CONID do IUP. A criação do canvas muda para:
myCdCanvas = cdCreateCanvas(CD_NATIVEWINDOW, IupGetAttribute(myIupCanvas, "CONID")); IupSetAttribute(myIupCanvas, "_CD_CANVAS", myCdCanvas);
Para utilizar esse driver é necessário linqueditar com a biblioteca "cdiup" (cdiup.lib em Windows, cdiuplib.a em UNIX).
Em Lua é necessário chamar a função cdluaiup_open após a chamada da função cdlua_open, além de ter que linqueditar com a biblioteca "cdluaiup".
O driver é altamente dependente da plataforma, porém pouco dependente da biblioteca IUP. Para maiores detalhes, consulte o Comportamento das Funções de cada plataforma: Macintosh (QuickDraw), Microsoft Windows (GDI), X-Windows (XLIB). Entretanto, algumas funções têm um comportamento diferente das funções básicas de cada plataforma.